package com.itheima.demo03functionalinterface;

import java.util.function.Supplier;

/**
 * @author chenming
 * Date  2023/6/7 14:02
 * @version 1.0
 * description
 */
public class Demo03Supplier {
    //Supplier看到很对地方都是介绍是可以返回一个对象的接口; 但实际Supplier和Functin一样有实现回调的功能,
    // 基于此特性可以实现类似设计模式中的装饰模式;可以在开发中对一些功能一致的操作进行封装
    public static void compareString(String msgKey,Supplier<Boolean> supplier) {
        System.out.println("获得锁信息" + msgKey);
        if (!supplier.get()) {
            System.out.println("释放锁资源！！！");
        } else {
            System.out.println("锁资源被占用！！！");
        }
    }

    //通常拿有的数据和
    public static void main(String[] args) {
        String a = "123";
        String msg = "456";
        compareString(msg,() ->
                a.equals(msg)
        );
    }


}
